1472B - Fair Division - CodeForces Solution


dp greedy math *800

Please click on ads to support us..

Python Code:

t = int(input())
for turn in range(t):
    n = int(input())
    a = list(map(int, input().split()))

    c1 = a.count(1)
    c2 = a.count(2)


    if n == 1:
        print("NO")

    elif c1 % 2 == 0 and c2 % 2 == 0:
        print("YES")
    elif c1 % 2 == 0 and c2 == 1:
        print("YES")

    elif c1 % 2 == 0 and c1 != 0:
        print("YES")
    elif c1 == 0 and c2 % 2 == 0:
        print("YES")
    elif c1 % 2 == 0 and c2 == 0:
        print("YES")
    else:
        print("NO")

C++ Code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+5;

int a[N];

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        for(int i=0;i<n;i++)
          cin>>a[i];
        sort(a,a+n);
        int sum1=0,sum2=0;
        for(int i=n-1;i>=0;i--){
            if(sum1<sum2)
              sum1+=a[i];
            else
              sum2+=a[i];
        }
        if(sum1!=sum2)
           cout<<"NO\n";
        else
           cout<<"YES\n";
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

903C - Boxes Packing
887A - Div 64
755B - PolandBall and Game
808B - Average Sleep Time
1515E - Phoenix and Computers
1552B - Running for Gold
994A - Fingerprints
1221C - Perfect Team
1709C - Recover an RBS
378A - Playing with Dice
248B - Chilly Willy
1709B - Also Try Minecraft
1418A - Buying Torches
131C - The World is a Theatre
1696A - NIT orz
1178D - Prime Graph
1711D - Rain
534A - Exam
1472A - Cards for Friends
315A - Sereja and Bottles
1697C - awoo's Favorite Problem
165A - Supercentral Point
1493A - Anti-knapsack
1493B - Planet Lapituletti
747B - Mammoth's Genome Decoding
1591C - Minimize Distance
1182B - Plus from Picture
1674B - Dictionary
1426C - Increase and Copy
520C - DNA Alignment